freeslot("mt_hanyuu","S_HANYUU","SPR_HNYU","sfx_hanyuu")
sfxinfo[sfx_hanyuu].caption = '\x89\"Hauauauuu!"\x80'

mobjinfo[MT_HANYUU] = {
	doomednum = 2707,
	spawnhealth = 999999,
	spawnstate = S_HANYUU,
	painstate = S_HANYUU,
	radius = 32*FRACUNIT,
	height = 64*FRACUNIT,
	flags = MF_ENEMY|MF_SPECIAL|MF_SHOOTABLE
}

states[S_HANYUU] = {
	sprite = SPR_HNYU,
	frame = A,
	tics = -1,
	nextstate = S_HANYUU
}

local HanyuuDead
addHook("MapLoad",function(map)
	if not mapheaderinfo[gamemap].nipah then return end
	HanyuuDead = false
end)

addHook("PlayerThink", function(p)
	if not mapheaderinfo[gamemap].nipah then return end
	if p.mo and p.valid then
		if p.mo.subsector.sector.tag == 67 and HanyuuDead then
			p.pflags = $|PF_FINISHED
		end
	end
end)

addHook("MobjThinker", function(mo)
	mo.spritexscale = FRACUNIT/5
	mo.spriteyscale = FRACUNIT/5
	if mo.hanyuudie then
		mo.rollangle = $+ANG30
		if (mo.eflags & MFE_JUSTHITFLOOR) or mo.hanyuuwall then
			local boom = P_SpawnMobjFromMobj(mo,0,0,0,MT_BOSSEXPLODE)
			boom.scale = mo.scale*4
			boom.destscale = boom.scale*4
			S_StartSound(boom,sfx_s3k9b)
			S_StartSound(boom,sfx_s3k9b)
			HanyuuDead = true
			CV_AddValue(cv_rikas,1)
			P_KillMobj(mo)
		end
	end
end,MT_HANYUU)

addHook("MobjDamage", function(mo,inflictor,source,dmg,dmgtype)
	P_InstaThrust(mo, inflictor.angle, 30*FRACUNIT)
	P_SetObjectMomZ(mo, 20*FRACUNIT)
	S_StartSound(mo,sfx_hanyuu)
	S_StartSoundAtVolume(inflictor,sfx_bsnipe,150)
	mo.hanyuudie = true
	return true
end,MT_HANYUU)

addHook("MobjMoveBlocked", function(mo, mo2, line)
if mo2 then return end
	if mo.hanyuudie then
		mo.hanyuuwall = true
	end
end,MT_HANYUU)